'use strict';
const db = uniCloud.database();
const collection = db.collection('ad_info');

exports.main = async (event, context) => {
	console.log('submitAdInfo云函数被调用，参数：', event);
	
	// 参数校验
	const { 
		category,           // 栏目类别
		subCategory,        // 子类别
		name,               // 姓名
		phone,              // 电话
		content,            // 见报内容
		publishDate,        // 刊登日期
		publishDays,        // 刊登天数
		needInvoice,        // 是否需要发票
		invoiceTitle,       // 发票抬头
		taxNumber,          // 纳税人识别号
		email,              // 电子邮箱
		receiverPhone,      // 收件人手机
		price               // 价格
	} = event;
	
	// 必填字段验证
	if (!category || !subCategory || !name || !phone || !content || !publishDate || !publishDays || !price) {
		console.error('缺少必要参数');
		return {
			code: -1,
			message: '缺少必要参数'
		};
	}
	
	try {
		// 构建要插入的数据
		const data = {
			category,
			subCategory,
			name,
			phone,
			content,
			publishDate,
			publishDays: parseInt(publishDays),
			needInvoice: !!needInvoice,
			price: parseFloat(price),
			status: 'pending', // 状态：待处理
			createTime: new Date()
		};
		
		// 如果需要发票，添加发票信息
		if (needInvoice) {
			if (!invoiceTitle || !taxNumber || !email) {
				console.error('发票信息不完整');
				return {
					code: -1,
					message: '发票信息不完整'
				};
			}
			
			data.invoiceInfo = {
				title: invoiceTitle,
				taxNumber,
				email,
				receiverPhone: receiverPhone || phone // 如果没有提供收件人手机，使用联系电话
			};
		}
		
		console.log('准备插入数据：', data);
		
		// 插入数据
		const result = await collection.add(data);
		
		console.log('数据插入成功，结果：', result);
		
		return {
			code: 0,
			message: '提交成功',
			data: {
				id: result.id
			}
		};
	} catch (e) {
		console.error('提交失败：', e);
		return {
			code: -2,
			message: '提交失败：' + e.message
		};
	}
}; 